package org.example.MQ.util.QuartzConfig;


import org.springframework.context.annotation.Configuration;

/**
 * @author
 * @description 定时任务配置
 * @date 2023/6/28 14:18
 */
@Configuration
public class QuartzConfig {

//    @Bean
//    public JobDetail rabbitMqProducerTaskJobDetail() {
//        return JobBuilder.newJob(RabbitMqProducerTask.class)
//                .withIdentity("rabbitMqProducerTaskJobDetail")
//                .storeDurably()
//                .build();
//    }
//
//    @Bean
//    public Trigger rabbitMqProducerTaskTrigger() {
//        return TriggerBuilder.newTrigger()
//                .forJob(rabbitMqProducerTaskJobDetail())
//                .withIdentity("rabbitMqProducerTaskTrigger")
//                .withSchedule(CronScheduleBuilder.cronSchedule("*/10 * * * * ?"))
//                .build();
//    }
//    @Bean
//    public JobDetail VerifyTaskJobDetail() {
//        return JobBuilder.newJob(JobExecute.class)
//                .withIdentity("VerifyTaskJobDetail")
//                .storeDurably()
//                .build();
//    }
//
//    @Bean
//    public Trigger VerifyTaskTrigger() {
//        return TriggerBuilder.newTrigger()
//                .forJob(VerifyTaskJobDetail())
//                .withIdentity("VerifyTaskTrigger")
//                .withSchedule(CronScheduleBuilder.cronSchedule("*/59 * * * * ?"))
//                .build();
//    }

//    @Bean
//    public JobDetail ComparePersonNumTaskJobDetail() {
//        return JobBuilder.newJob(ComparePersonNumTask.class)
//                .withIdentity("ComparePersonNumTaskJobDetail")
//                .storeDurably()
//                .build();
//    }

//    @Bean
//    public Trigger ComparePersonNumTaskTrigger() {
//        return TriggerBuilder.newTrigger()
//                .forJob(ComparePersonNumTaskJobDetail())
//                .withIdentity("ComparePersonNumTaskTrigger")
//                .withSchedule(CronScheduleBuilder.cronSchedule("0 */1 * * * ?"))
//                .build();
//    }


//    @Bean
//    public JobDetail excuteProcDetail() {
//        return JobBuilder.newJob(ExcuteProcDetail.class)
//                .withIdentity("excuteProcDetail")
//                .storeDurably()
//                .build();
//    }

//    @Bean
//    public Trigger procDetailTrigger() {
//        return TriggerBuilder.newTrigger()
//                .forJob(excuteProcDetail())
//                .withIdentity("procDetailTrigger")
//                .withSchedule(CronScheduleBuilder.cronSchedule("*/59 * * * * ?"))
//                .build();
//    }
//
//    // 创建调度器
//    Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
//    // 创建要排除的时间
//    HolidayCalendar holidayCalendar = new HolidayCalendar();
//        holidayCalendar.addExcludedDate(new Date());
//        scheduler.addCalendar("hhh", holidayCalendar,false,false);
//
//    // 创建任务实例
//    JobDetail jobDetailA = JobBuilder.newJob(MyJob.class)
//            .requestRecovery(false)
//            .storeDurably(false)
//            .withIdentity("helloA", "job")
//            .usingJobData("xpA","好帅好帅")
//            .build();
//
//    // 创建触发器
//    CronTrigger triggerA = TriggerBuilder.newTrigger()
//            .withIdentity("triggerA", "trigger")
//            .startNow()
//            // 每2秒执行一次
//            .withSchedule(CronScheduleBuilder.cronSchedule("0/3 * * * * ?"))
//            .modifiedByCalendar("hhh")
//            // 8s后结束
//            .endAt(new Date(System.currentTimeMillis() + 8000))
//            .build();
//
//    public QuartzConfig() throws SchedulerException {
//    }
//
//    // 调度器接管任务和触发器
//        scheduler.scheduleJob(jobDetailA, triggerA);
//    // 开始执行
//        scheduler.start();

}